// 血缘 extends
function objectFactory() { // new
    // person 普通函数运行一下 apply(p?)
    let obj = {} // 没有血缘关系
    // var Constructor = arguments[0]
    // 伪数组 把shift 方法借给arguments用
    var Constructor = [].shift.call(arguments);
    console.log(arguments,'------')
    obj.__proto__ = Constructor.prototype;
    var ret = Constructor.apply(obj,arguments);
    // return ret?ret:obj// 实例
    return typeof ret =='object'? ret||obj: obj
}
function Person(name,age) { // 编程风格
    this.name = name;
    this.age = age;
    // return {
    //     name,
    //     age,
    //     bb:'11'
    // }
    return null;
}
// const p = new personalbar('利用');
// console.log(p.name);
let p = objectFactory(Person,'gch',19);
console.log(p.bb)